


#define SKILLS_PER_POKEMON 4

enum SKILL
{
	SKILL_READY,
	SKILL_USED,
	SKILL_USED_PAUSE,
	SKILL_DENY,
	SKILL_WAIT,
}

enum SKILL_CALL ( <<= 1 )
{
	CALL_NONE = 0,
	CALL_REGISTER = 1,
	CALL_HELP,
	CALL_BIND_DOWN,
	CALL_BIND_UP,
	CALL_GIVE_DAMAGE,
	CALL_TAKE_DAMAGE,
	CALL_PLAYER_TOUCH,
	CALL_SPAWN,
	CALL_DEATH,
	CALL_EVERY_SECOND,
	CALL_GIVE_POKEDAMAGE,
	CALL_TAKE_POKEDAMAGE,
	CALL_AIM_AT_PLAYER,
	CALL_SPEED_UPDATE,
	CALL_ROUND_END,
	CALL_RESET,
	CALL_STATUS_CHANGE,
	CALL_STATUS_END,
	CALL_ENTITY_THINK,
	CALL_ENTITY_TOUCH,
	CALL_BOOST_HIT,
	CALL_WITH_SKILL_TIME,
	CALL_ADMIN_ONLY,
	CALL_CUSTOM,
}

enum SKILL_INFO
{
	PM_TYPE:SI_TYPE,
	SKILL_CALL:SI_CALLTYPE,
	SI_PP,
	SI_CHARGES,
	SI_DELAYTIME,
}

#define SKILL_TIME_WAIT -999.9

enum POKESKILL
{
	SKILL_INVALID = -1,
	SKILL_STRUGGLE,

	SKILL_ABSORB,
	SKILL_ACID,
	SKILL_ACIDARMOR,
	SKILL_AGILITY,
	SKILL_AMNESIA,
	SKILL_AURORABEAM,
	SKILL_BARRAGE,
	SKILL_BARRIER,
	SKILL_BIDE,
	SKILL_BIND,
	SKILL_BITE,
	SKILL_BLIZZARD,
	SKILL_BODYSLAM,
	SKILL_BONECLUB,
	SKILL_BONEMERANG,
	SKILL_BUBBLE,
	SKILL_BUBBLEBEAM,
	SKILL_CLAMP,
	SKILL_COMETPUNCH,
	SKILL_CONFUSERAY,
	SKILL_CONFUSION,
	SKILL_CONSTRICT,
	SKILL_CONVERSION,
	SKILL_COUNTER,
	SKILL_CRABHAMMER,
	SKILL_CUT,
	SKILL_DEFENSECURL,
	SKILL_DIG,
	SKILL_DISABLE,
	SKILL_DIZZYPUNCH,
	SKILL_DOUBLEKICK,
	SKILL_DOUBLETEAM,
	SKILL_DOUBLEEDGE,
	SKILL_DOUBLESLAP,
	SKILL_DRAGONRAGE,
	SKILL_DREAMEATER,
	SKILL_DRILLPECK,
	SKILL_EARTHQUAKE,
	SKILL_EGGBOMB,
	SKILL_EMBER,
	SKILL_EXPLOSION,
	SKILL_FIREBLAST,
	SKILL_FIREPUNCH,
	SKILL_FIRESPIN,
	SKILL_FISSURE,
	SKILL_FLAMETHROWER,
	SKILL_FLASH,
	SKILL_FLY,
	SKILL_FOCUSENERGY,
	SKILL_FURYATTACK,
	SKILL_FURYSWIPES,
	SKILL_GLARE,
	SKILL_GROWL,
	SKILL_GROWTH,
	SKILL_GUILLOTINE,
	SKILL_GUST,
	SKILL_HARDEN,
	SKILL_HAZE,
	SKILL_HEADBUTT,
	SKILL_HIJUMPKICK,
	SKILL_HORNATTACK,
	SKILL_HORNDRILL,
	SKILL_HYDROPUMP,
	SKILL_HYPERBEAM,
	SKILL_HYPERFANG,
	SKILL_HYPNOSIS,
	SKILL_ICEBEAM,
	SKILL_ICEPUNCH,
	SKILL_JUMPKICK,
	SKILL_KARATECHOP,
	SKILL_KINESIS,
	SKILL_LEECHLIFE,
	SKILL_LEECHSEED,
	SKILL_LEER,
	SKILL_LICK,
	SKILL_LIGHTSCREEN,
	SKILL_LOVELYKISS,
	SKILL_LOWKICK,
	SKILL_MEDITATE,
	SKILL_MEGADRAIN,
	SKILL_MEGAKICK,
	SKILL_MEGAPUNCH,
	SKILL_METRONOME,
	SKILL_MIMIC,
	SKILL_MINIMIZE,
	SKILL_MIRRORMOVE,
	SKILL_MIST,
	SKILL_NIGHTSHADE,
	SKILL_PAYDAY,
	SKILL_PECK,
	SKILL_PETALDANCE,
	SKILL_PINMISSILE,
	SKILL_POISONGAS,
	SKILL_POISONSTING,
	SKILL_POISONPOWDER,
	SKILL_POUND,
	SKILL_PSYBEAM,
	SKILL_PSYCHIC,
	SKILL_PSYWAVE,
	SKILL_QUICKATTACK,
	SKILL_RAGE,
	SKILL_RAZORLEAF,
	SKILL_RAZORWIND,
	SKILL_RECOVER,
	SKILL_REFLECT,
	SKILL_REST,
	SKILL_ROAR,
	SKILL_ROCKSLIDE,
	SKILL_ROCKTHROW,
	SKILL_ROLLINGKICK,
	SKILL_SANDATTACK,
	SKILL_SCRATCH,
	SKILL_SCREECH,
	SKILL_SEISMICTOSS,
	SKILL_SELFDESTRUCT,
	SKILL_SHARPEN,
	SKILL_SING,
	SKILL_SKULLBASH,
	SKILL_SKYATTACK,
	SKILL_SLAM,
	SKILL_SLASH,
	SKILL_SLEEPPOWDER,
	SKILL_SLUDGE,
	SKILL_SMOG,
	SKILL_SMOKESCREEN,
	SKILL_SOFTBOILED,
	SKILL_SOLARBEAM,
	SKILL_SONICBOOM,
	SKILL_SPIKECANNON,
	SKILL_SPLASH,
	SKILL_SPORE,
	SKILL_STOMP,
	SKILL_STRENGTH,
	SKILL_STRINGSHOT,
	SKILL_STUNSPORE,
	SKILL_SUBMISSION,
	SKILL_SUBSTITUTE,
	SKILL_SUPERFANG,
	SKILL_SUPERSONIC,
	SKILL_SURF,
	SKILL_SWIFT,
	SKILL_SWORDSDANCE,
	SKILL_TACKLE,
	SKILL_TAILWHIP,
	SKILL_TAKEDOWN,
	SKILL_TELEPORT,
	SKILL_THRASH,
	SKILL_THUNDER,
	SKILL_THUNDERWAVE,
	SKILL_THUNDERBOLT,
	SKILL_THUNDERPUNCH,
	SKILL_THUNDERSHOCK,
	SKILL_TOXIC,
	SKILL_TRANSFORM,
	SKILL_TRIATTACK,
	SKILL_TWINNEEDLE,
	SKILL_VICEGRIP,
	SKILL_VINEWHIP,
	SKILL_WATERGUN,
	SKILL_WATERFALL,
	SKILL_WHIRLWIND,
	SKILL_WINGATTACK,
	SKILL_WITHDRAW,
	SKILL_WRAP,
}

enum CHECK_TYPES ( <<= 1 )
{
	CHECK_SKY_AIM = 1,
	CHECK_BOMB,
	CHECK_ON_GROUND,
	CHECK_IN_AIR,
	CHECK_IN_WATER,
	CHECK_MOVING,
}

#define gSkillVariable[%1]           g_iPlayerSkillVariable[ %1 ][ g_iSkillNum ]
#define gSkillVector[%1]             g_vPlayerSkillVector[ %1 ][ g_iSkillNum ]
